Provides a minimal, in-house implementation of the subset of the GEOMPACK library used by FPLOT to construct 2D Delaunay triangulations.
Original FORTRAN77 version by Barry Joe. FORTRAN90 version by John Burkardt. Reference: Barry Joe, GEOMPACK - a software package for the generation of meshes using geometric algorithms, Advances in Engineering Software, Volume 13, pages 325-331, 1991.
Constructs a Delaunay triangulation of 2D vertices.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=int32), | intent(in) | :: | node_num |
The number of vertices. |
||
| real(kind=real64), | intent(inout), | dimension(2, node_num) | :: | node_xy |
The coordinates of the vertices. On output, the vertices have been sorted into dictionary order. |
|
| integer(kind=int32), | intent(out) | :: | triangle_num |
The number of triangles in the triangulation; TRIANGLE_NUM is equal to 2*NODE_NUM - NB - 2, where NB is the number of boundary vertices. |
||
| integer(kind=int32), | intent(out), | dimension(3, 2 * node_num) | :: | triangle_node |
The nodes that make up each triangle. The elements are indices of the vertex array. The vertices of the triangles are in counter clockwise order. |
|
| integer(kind=int32), | intent(out), | dimension(3, 2 * node_num) | :: | triangle_neighbor |
The triangle neighbor list. Positive elements are indices of TRIANGLE_NODE; negative elements are used for links of a counter clockwise linked list of boundary edges; LINK = -(3*I + J-1) where I, J = triangle, edge index; TRIANGLE_NEIGHBOR(J,I) refers to the neighbor along the edge from vertex J to J+1 (mod 3). |